#ifndef MYITEMVIEW_H
#define MYITEMVIEW_H

#include <QAbstractItemView>

class MyItemView : public QAbstractItemView{
Q_OBJECT
public:
	explicit MyItemView(QWidget *parent = 0);

	/** Прокрутить представление, чтобы пункт с индексом index был виден.
	 * Представлене постарвется расположить элемент в соответствии с полученным hint.*/
	void scrollTo( const QModelIndex & index, ScrollHint hint = EnsureVisible );

	/** Возвращает область, которую звнимает элемент.
	 *
	 * Если васш элемент занимает несколко областей,
	 * то visualRect должен возвращать основную область,
	 * которая содержит элемент, а не всю площадь, которую элемент может охватывать.
	 * @see indexAt() и visualRegionForSelection()*/
	QRect visualRect( const QModelIndex & index ) const;

	/** Скрыть ли элемент.*/
	bool isIndexHidden( const QModelIndex & index ) const;

	/** Вернуть индекс элемента, над которым перемещается курсор.*/
	QModelIndex	moveCursor( CursorAction cursorAction, Qt::KeyboardModifiers modifiers );

	/** Выделить элементы в области.*/
	void setSelection( const QRect & rect, QItemSelectionModel::SelectionFlags flags );

	/** Возвращает регион области отображения(viewport) в котором находятся выделенные элементы.*/
	QRegion	visualRegionForSelection ( const QItemSelection & selection ) const;

	/** Инекс элемента расположенного в точке point.*/
	QModelIndex	indexAt ( const QPoint & point ) const;

	/** Горизонталный отступ.*/
	int	horizontalOffset() const;

	/** Вертикальный отступ.*/
	int	verticalOffset() const;

	/** .*/


	/** .*/


	/** .*/


	/** .*/


signals:

public slots:

};

#endif // MYITEMVIEW_H
